package com.partterns.interceptor;

import java.lang.reflect.Method;

/**
 * 拦截器接口
 */
public interface Interceptor {
    /**
     * 返回布尔值，在真是对象前调用
     * @param proxy 代理对象
     * @param target 真实对象
     * @param method method方法
     * @param args 运行方法参数
     * @return boolean值，true反射真实对象方法，false调用around方法
     */
     boolean before(Object proxy,Object target,Method method,Object[] args);

     void around(Object proxy,Object target,Method method,Object[] args);

     void after(Object proxy,Object target,Method method,Object[] args);
}
